隨著應用與用戶的增加,能夠有效管理對Kubernetes集群中的資源訪問變得越來越重要。Kubernetes基於角色的訪問控制RBAC,根據使用者的或群組的角色來控制對資源的訪問。RBAC不僅能夠提高集群的安全性,還能簡化權限管理,確保只有授權的使用者能夠執行特定的操作。
定義特定命名空間內的權限,可以授予對資源(例如:Pod、Service等)的訪問權限。
與Role相似,但作用的範圍更廣,適用於整個集群,可以跨所有命名空間授予權限。
將角色的權限賦予特定的使用者或群組,並且僅在特定的命名空間內有效。
將集群角色的權限賦予特定的使用者或群組,並且在整個集群中有效,而不只是在特定的命名空間內有效。
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "watch", "create"]
resources
這個參數用來設置在Kubernetes集群中可以操作的資源類型,這些資源可以是集群中的各種物件,如Pod、Service、Deployment等。
verbs
Kubernetes RBAC 可以控制對集群資源的訪問權限。通過定義Role和ClusterRole可以根據需求,賦予或限制對資源的操作權限。verbs、resources這些組件共同構成靈活的權限管理。透過合理設定RBAC,可以有效的保護Kubernetes中的資源,讓只擁有授權才能夠執行操作,去降低潛在的安全風險。